02_Planificacion/02 -- Fases del proyecto.md

El ciclo de vida del proyecto se estructura en cinco fases secuenciales, donde la finalización de cada una es condición de entrada para la siguiente.

La primera es la planificación: define el alcance formal del proyecto, estima esfuerzos e identifica riesgos, estableciendo la línea base sobre la que se articulará todo el desarrollo posterior.

La segunda fase sienta la infraestructura de datos. Es el pilar técnico del sistema, y su carácter fundacional hace que cualquier componente de las fases siguientes dependa de que esté plenamente operativa.

La tercera construye sobre esa infraestructura la arquitectura de agentes inteligentes, estableciendo la lógica de coordinación y los canales de comunicación entre los distintos componentes del sistema.

La cuarta fase incorpora las integraciones complementarias: los servicios externos y el pipeline documental que completan las capacidades del sistema. Ambas dependen de que la arquitectura de agentes esté validada.

Finalmente, dos objetivos acompañan el proyecto de forma transversal: el seguimiento y control, que garantiza la trazabilidad del avance y la elaboración progresiva de la memoria; y la evolución de plataforma, que integra las nuevas funcionalidades en DWall a lo largo de todo el ciclo.

Objetivos del proyecto

A continuación, se presenta un resumen de los objetivos del proyecto, incluyendo su abreviatura y una breve descripción:

  • Planificación del Proyecto (PLP): Durante esta etapa inicial, el alumno debe realizar un análisis del alcance, definir la Estructura de Desglose del Trabajo, estimar esfuerzos de forma realista, identificar riesgos potenciales... Debido a esto, se le ha asignado a esta tarea una estimación temporal aproximada de 35 horas.

  • Seguimiento y Control (SYC): Transversal a todo el proyecto, este bloque asegura el seguimiento de los hitos, la gestión de riesgos, el control de versiones y la redacción de la memoria técnica final. Por esto mismo se espera un esfuerzo similar al de la planificacion, 35 horas.

  • Base de Datos Vectorial (BDV): Esta fase se basa en la migración de los embeddings desde el sistema de archivos actual, a la base de datos DWall ya existente, garantizando una persistencia robusta y escalable.

    La generación de embeddings se encuentra actualmente en el agente inteligente desarrollado en Python. Por lo que la migración requerirá un trabajo imprescindible de investigación y diseño de arquitectura software y de base de datos. Debido a la importancia y probable complejidad de la refactorización del nuevo sistema se espera al menos 65 horas de desarrollo.

  • Agente Orquestador y Lógica de Routing (AOR): Se centrará en la creación del router multi-agente capaz de clasificar intenciones y coordinar respuestas. Así como todos los endpoints requeridos para el trabajo en conjunto de cada uno de los agentes especializados. De forma similar a la estructura PostgreSQL se espera una extensa carga de trabajo, aproximadamente 60 horas.

  • Adaptación de Herramientas MCP Externas (EMCP): En conjunto con el desarrollo de una arquitectura de agentes inteligentes, también se dedicará este tiempo a la investigación e integración de herramientas bajo el protocolo MCP, permitiendo que el chatbot interactúe de forma modular con servicios externos. Por lo dicho, la parte de diseño se tendrá que tener en cuenta durante la fase de integracion de varios agente, lo que supone una menor carga de trabajo, aproximadamente 35 horas.

  • Integración con SharePoint RAG (SPR): Incluye la refactorización de las herramientas MCP para la retroalimentación del RAG mediante el sistema de SharePoint a la nueva base de datos vectorial y la capa multi-agente adyacente. Junto con una mejora en el rendimiento de este. A pesar de ser una herramienta existente y funcional, deberá ser refactorizada para adaptarse a la nueva logica multi-agente. Ademas su funcinoamiento tambien tendra que ser optimizado por lo que se prevee una carga de trabjo aproximada en 35 horas.

  • Evolución de Plataforma (EPL): Este bloque es transversal a todo el proyecto y cubre tanto el desarrollo de las interfaces de usuario como la mejora continua de la arquitectura backend de la plataforma DWall. A diferencia del resto de bloques, no tiene una ventana temporal acotada, sino que acompaña al desarrollo de cada objetivo a lo largo de todo el ciclo del proyecto. Se estima una dedicación de 35 horas.

Desglose de Tareas

A continuación se lleva a cabo un desglose detallado de las tareas estimadas que serán necesarias para el desarrollo de cada uno de los objetivos.

Planificación del Proyecto (PLP)

1PLP. Definición del alcance y objetivos del TFG: Especificar formalmente los entregables del proyecto, los límites del alcance, los criterios de aceptación y las exclusiones, alineando las expectativas con el tutor y la empresa.

2PLP. Elaboración de la Estructura de Desglose del Trabajo (EDT): Descomponer el proyecto en paquetes de trabajo manejables, definiendo las tareas de cada objetivo, sus dependencias y la secuencia lógica de ejecución.

3PLP. Estimación de esfuerzos y asignación temporal: Estimar las horas necesarias para cada tarea, distribuirlas en el calendario disponible y elaborar el cronograma del proyecto con hitos de control.

4PLP. Identificación y análisis de riesgos: Identificar los riesgos técnicos y de gestión del proyecto, evaluar su probabilidad e impacto, y definir estrategias de mitigación y planes de contingencia.

5PLP. Redacción del documento de planificación: Consolidar toda la planificación en el documento formal del TFG.

Seguimiento y Control (SYC)

1SYC. Establecimiento del sistema de seguimiento: Definir las herramientas, métricas y frecuencia de seguimiento del proyecto: registro de horas, avance de tareas, gestión de incidencias y comunicación con tutor/empresa.

2SYC. Seguimiento periódico del avance y desviaciones: Realizar el control continuo del progreso real vs. planificado, identificando desviaciones en tiempo o alcance y documentando las causas.

3SYC. Gestión de cambios e incidencias: Registrar y evaluar los cambios de alcance o requisitos que surjan durante el desarrollo, así como las incidencias técnicas, tomando decisiones de ajuste cuando sea necesario.

4SYC. Elaboración de informes de progreso: Generar informes periódicos del estado del proyecto para tutor y empresa, reflejando avances, problemas encontrados y previsiones actualizadas.

5SYC. Redacción de la memoria técnica del TFG: Elaborar el documento final de la memoria del TFG, integrando la descripción del trabajo realizado, decisiones técnicas, resultados obtenidos y conclusiones.

6SYC. Preparación de la defensa del proyecto: Preparar la presentación para el tribunal: estructura de la exposición, materiales de apoyo, demo del sistema y ensayo de la defensa.

Base de Datos Vectorial (BDV)

1BDV. Análisis del sistema actual de almacenamiento de embeddings: Documentar la estructura actual de los archivos JSON y vectoriales: formato de metadatos, dimensionalidad de embeddings, relaciones entre chunks y documentos origen, y flujo de lectura/escritura actual del chatbot.

2BDV. Diseño del esquema relacional para embeddings y metadatos: Definir la estructura de tablas en PostgreSQL que almacenará los vectores y sus metadatos asociados, considerando la integración con el esquema existente de DWall y las consultas de similitud requeridas.

3BDV. Implementación del esquema en la base de datos DWall: Crear las tablas, índices vectoriales y relaciones necesarias en el entorno PostgreSQL de la empresa, incluyendo scripts de migración y rollback.

4BDV. Desarrollo de endpoints de escritura de embeddings: Crear los endpoints y flujos eventos que permitan una generación y almacenamiento de embeddings asíncronos e integrados.

5BDV. Desarrollo de endpoints de consulta por similitud vectorial: Implementar los endpoints que ejecuten búsquedas de similitud semántica contra la base de datos, devolviendo los chunks más relevantes para una consulta dada.

6BDV. Testing de rendimiento y validación de resultados: Ejecutar pruebas comparativas entre el sistema antiguo (archivos) y el nuevo (PostgreSQL) para verificar que los resultados de búsqueda son equivalentes y que el rendimiento es aceptable.

7BDV. Documentación técnica del nuevo sistema de almacenamiento: Redactar la documentación del diseño final: esquema de base de datos, especificación de endpoints, guía de despliegue y manual de mantenimiento.

Agente Orquestador y Lógica de Routing

1AOR. Análisis del flujo actual de procesamiento de consultas del chatbot: Documentar cómo el chatbot actual procesa las peticiones: desde la recepción del mensaje hasta la generación de respuesta, identificando los puntos de decisión existentes y las llamadas al LLM vía MCP.

2AOR. Coordinación con el equipo de desarrollo y transferencia de conocimiento: Establecer canales de comunicación regulares con el equipo de desarrollo para comprender propuestas de diseño, y coordinar la integración con sistemas existentes. Incluye reuniones de seguimiento y documentación de decisiones técnicas conjuntas.

3AOR. Definición de los agentes especializados y sus responsabilidades: Especificar los diferentes agentes del sistema: Agente Orquestador (router), Agente RAG , Agente de Acciones (herramientas MCP), definiendo las interfaces de comunicación entre ellos.

4AOR. Diseño de la arquitectura del sistema de routing: Definir la arquitectura de intercambio de información entre los diferentes agentes usando endpoints. qué criterios se usarán para derivar a cada agente, y cómo gestionará el flujo de información entre componentes.

5AOR. Implementación del clasificador de intenciones (Router): Desarrollo del sistema de intercambio de información entre los diferentes agentes usando endpoints.

6AOR. Refactorización del Agente RAG: Adaptar el agente especializado en consultas que requieren búsqueda de contexto en la base de datos vectorial, integrándose con los endpoints desarrollados en la tarea anterior.

7AOR. Testing del sistema multi-agente junto con la optimización de prompts y ajuste de comportamiento: Análisis del rendimiento del nuevo sistema junto con la iteración sobre los prompts de cada agente para mejorar la precisión de clasificación, la calidad de las respuestas y la coherencia del sistema completo.

8AOR. Documentación de la arquitectura de agentes: Redactar la documentación técnica: diagramas de flujo, especificación de cada agente, guía de configuración de modelos y manual de extensión del sistema.

Adaptación de Herramientas MCP Externas

1EMCP. Investigación del ecosistema de herramientas MCP disponibles: Explorar el catálogo de herramientas MCP de terceros existentes (servidores MCP públicos, integraciones oficiales, repositorios de la comunidad) e identificar cuáles podrían aportar valor al contexto empresarial del proyecto.

2EMCP. Diseño de la arquitectura modular de plugins MCP: Definir cómo se estructurará el sistema para permitir añadir/eliminar herramientas MCP de forma plug-and-play: sistema de registro, carga dinámica, configuración por herramienta y gestión de dependencias.

3EMCP. Implementación de la capa de abstracción para herramientas externas: Desarrollar el componente que unifique la interfaz entre herramientas MCP internas (propias de la empresa) y externas (terceros), permitiendo al orquestador tratarlas de manera homogénea.

4EMCP. Testing de integración y validación de herramientas: Verificar el correcto funcionamiento de cada herramienta integrada: invocación desde el orquestador, manejo de errores, timeouts y coherencia de las respuestas devueltas.

5EMCP. Documentación del sistema de plugins y guía de extensión: Redactar la documentación técnica del sistema modular: cómo añadir nuevas herramientas MCP, formato de configuración, requisitos de compatibilidad y ejemplos de integración.

Integración con SharePoint RAG

1SPR. Análisis del flujo documental en SharePoint: Evaluar cómo se almacenan y actualizan actualmente los documentos técnicos en la infraestructura de la empresa.

2SPR. Adaptación del conector para el nuevo procesador: Refactorizar el servicio de extracción de SharePoint para que, en lugar de guardar archivos locales, envíe los documentos a los nuevos endpoints de la base de datos.

3SPR. Validación (SharePoint -> RAG): Verificar que un documento subido a SharePoint es accesible por el Agente Orquestador tras el proceso de ingestión.

4SPR. Refactorización del agente: Mejoras de desarrollo en Python del agente especializado en documentos, se estudiará un flujo optimizado para la nueva generacion de embeddings. Este paso debe asegurar un creacion mejorada de los embeddings en conjutno con el nuevo flujo de almacenamiento en PostgreSQL.

5SPR. Documentación de la integración: Guía técnica para el mantenimiento del pipeline de sincronización.

Evolución de Plataforma (EPL)

1EPL. Rediseño de la experiencia de usuario (UX/UI): Rediseño de la disposición de elementos para asegurar una interfaz que incluya de forma coherente las funcionalidades del sistema RAG y las nuevas herramientas integradas.

2EPL. Integración de nuevas funcionalidades en la plataforma: Desarrollo de las vistas, componentes y flujos de usuario necesarios para exponer las capacidades del sistema RAG, los agentes y las herramientas MCP a través de la interfaz de DWall.

3EPL. Arquitectura y flujo de eventos (backend): Mejora continua de la arquitectura y el flujo de eventos de los módulos del proyecto. El alumno adaptará el código a la arquitectura hexagonal (Domain-Driven Design) que rige los módulos principales de DWall, garantizando la coherencia con el resto de la plataforma.

4EPL. Integración de nuevas funcionalidades RAG en la plataforma: Una vez operativa la base de datos vectorial y el sistema de agentes, se desarrollarán las vistas, componentes y flujos de usuario necesarios para exponer las capacidades avanzadas del sistema RAG en la interfaz de DWall, incluyendo los elementos de ayuda contextual impulsados por el agente especializado.

Resumen de tiempos estimados

La siguiente tabla recoge las horas estimadas para cada tarea y objetivo, permitiendo visualizar de forma consolidada el esfuerzo total previsto para el proyecto.

ObjetivoIDTiempo (h)Acum. (h)
Planificación del Proyecto1PLP99
2PLP615
3PLP318
4PLP220
5PLP1535
Seguimiento y Control1SYC33
2SYC58
3SYC210
4SYC313
5SYC1528
6SYC735
Base de Datos Vectorial1BDV22
2BDV2224
3BDV1640
4BDV646
5BDV1056
6BDV662
7BDV365
Agente Orquestador y Routing1AOR66
2AOR1016
3AOR1026
4AOR1036
5AOR1046
6AOR753
7AOR457
8AOR360
Adaptación Herramientas MCP1EMCP66
2EMCP612
3EMCP1527
4EMCP431
5EMCP435
Integración SharePoint y RAG1SPR22
2SPR1214
3SPR216
4SPR1531
5SPR435
Evolución de Plataforma1EPL55
2EPL1015
3EPL1025
4EPL1035
TOTAL300